package com.softer.wxzj.mapper;

import com.softer.wxzj.entity.BaseRegionInfo;
import com.softer.wxzj.entity.DepositAudit;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author Gong Zhiyang
 * @date 2019/6/26
 */
@Repository
public interface DepositAuditMapper {
    /**
     * 修改dep_req_list表的状态
     *
     * @param id         dep_req_list表的ID
     * @param auditState 状态
     * @param userName   操作人
     * @return 修改结果
     */
    int updateState(@Param("id") String id, @Param("auditState") String auditState, @Param("userName") String userName);
    int updateConState(@Param("id") String id, @Param("auditState") String auditState, @Param("userName") String userName);

    /**
     * 精确查询交存审核列表
     *
     * @param baseRegionInfo 查询实体
     * @return 审核列表
     */
    List<BaseRegionInfo> getAuditList(BaseRegionInfo baseRegionInfo);

    /**
     * 模糊查询交存审核列表
     *
     * @param map 查询实体
     * @return 审核列表
     */
    List<BaseRegionInfo> fuzzySearch(Map<String, String> map);

    /**
     * 查询单个小区交存审核列表
     *
     * @param map 查询实体
     * @return 审核列表
     */
    List<DepositAudit> getAuditListByRegionId(Map<String, String> map);

    /**
     * 精确查询交存审核查询列表
     *
     * @param depositAudit 查询实体
     *                     regionName 小区名称
     *                     regionNo 小区编码
     *                     houseSite 房屋地址
     *                     flowState 审核状态
     *                     creater 申请人
     * @return 审核查询列表
     */
    List<DepositAudit> getAuditSearchList(DepositAudit depositAudit);

    /**
     * 模糊查询交存审核查询列表
     *
     * @param fuzzy    模糊查询字段
     * @param zoneCode 区县代码
     * @return 审核查询列表
     */
    List<DepositAudit> fuzzyAuditSearchList(@Param("fuzzy") String fuzzy, @Param("zoneCode") String zoneCode);
}
